package com.itcam.phaseii.string_;

public class String02 {
    public static void main(String[] args) {
        // 创建String对象有两种方式
        // 方式一：
        String str1 = "hello world!";
        // 方式二：
        String str2 = new String("hello java!");

        // 区别：
        // 方式一是直接赋值，先从常量池中看是否有“hello world!”的数据空间，
        //      有则指向，没有则先创建再指向，最终指向的是常量池的空间地址。
        // 方式二是调用构造器，先在堆中创建空间，里面维护了value属性指向常量池的"hello java!"空间，
        //      同理，只是方式二是通过value属性指向的
    }
}
